Solar panel placement systems and methods

ABSTRACT

A solar panel placement system models the location of one or more solar panels in one or more groupings, rows, or columns on a roof of a structure. The solar panel placement system may generate a graphical user interface to present one or more possible solar panel arrangements on the roof of the structure that attain a target parameter and conform to one or more user-provided or system-default solar panel parameters, solar array parameters, and/or aesthetic parameters.

RELATED APPLICATIONS

This application claims benefit of and priority to U.S. ProvisionalPatent Application No. 63/128,345, filed on Dec. 21, 2020, titled “SolarPanel Placement Systems and Methods,” which application is herebyincorporated by reference in its entirety. This application is alsorelated to U.S. patent application Ser. No. 17/453,152, filed on Nov. 1,2021 titled “Graphical User Interface for Controlling a Solar RayMapping;” U.S. patent application Ser. No. 16/865,158, filed on May 1,2020, titled “Image Analysis and Estimation of Rooftop Solar ExposureVia Solar Ray Mapping;” U.S. Provisional Patent Application No.62/842,961, filed on May 3, 2019, titled “Image Analysis and Estimationof Rooftop Solar Exposure;” U.S. patent application Ser. No. 16/522,948,filed on Jul. 26, 2019, also titled “Image Analysis and Estimation ofRooftop Solar Exposure;” U.S. patent application Ser. No. 16/228,019,filed on Dec. 20, 2018, titled “Image Analysis and Estimation of RooftopSolar Exposure;” and U.S. Provisional Patent Application No. 62/722,714,filed on Aug. 24, 2018, titled “Systems and Methods for Imaging andReporting the Solar Irradiance of a Structure,” each of which is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

This disclosure relates to systems and methods for determining spatialand temporal solar irradiance values of a roof of a structure.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the disclosure aredescribed herein, including various embodiments of the disclosure withreference to the figures listed below.

FIG. 1 illustrates a graphical user interface with a spatial heatmaprepresenting solar irradiance values on a roof of a structure, accordingto one embodiment.

FIG. 2 illustrates an overlay recommendation of solar panel placementbased on temporally averaged solar irradiance values calculated for aroof of a particular structure, according to one embodiment.

FIG. 3 illustrates an example of a graphical user interface of a systemenabling an operator to select sizes, quantities, power, and/or pricesof a plurality of solar panels for installation, according to oneembodiment.

FIG. 4 illustrates an example of an overlay recommendation of solarpanel placement based on temporally averaged solar irradiance values anduser-specified solar power system specifications, according to oneembodiment.

FIG. 5A illustrates an example of a solar panel placement systemmodeling the placement of a solar panel on a roof of a three-dimensionalmodel of a structure, according to one embodiment.

FIG. 5B illustrates the incremental addition of a second solar panel toform an array of solar panels on the roof of the three-dimensional modelof the structure, according to one embodiment.

FIG. 5C illustrates the solar panel placement system determining amaximum number of solar panels that can be accommodated on a bottom rowof the portion of the roof of the three-dimensional model of thestructure, according to one embodiment.

FIG. 5D illustrates the solar panel placement system identifying themaximum number of solar panels that can be accommodated on thepenultimate row of the portion of the roof of the three-dimensionalmodel of the structure, according to one embodiment.

FIG. 5E illustrates a possible arrangement with the penultimate rowshifted to account for a user specification that staggered panels arenot allowed, according to one embodiment.

FIG. 5F illustrates the solar panel placement system identifying themaximum number of solar panels that can be accommodated on the portionof the roof as determined by incremental addition of panels to each rowstarting from the left, according to one embodiment.

FIG. 5G illustrates the solar panel placement system shifting each rowof panels to the center based on a user-specified horizontaljustification preference, according to one embodiment.

FIG. 6A illustrates the solar panel placement system identifying, on agraphical user interface, a possible arrangement of 30 300-Watt solarpanels to attain a target output power of 9 kW, according to oneembodiment.

FIG. 6B illustrates the solar panel placement system identifying analternative arrangement of 30 300-Watt solar panels to attain a targetoutput power of 9 kW, according to one embodiment.

FIG. 6C illustrates the solar panel placement system identifying anotheralternative arrangement of 30 300-Watt solar panels to attain a targetoutput power of 9 kW, according to one embodiment.

FIG. 6D illustrates the solar panel placement system identifying anarrangement of 30 300-Watt solar panels based on the arrangement in FIG.6C with a centered grouping preference activated, according to oneembodiment.

FIG. 7A illustrates an example of a solar panel placement systemmodeling the placement of a 3×3 solar panel group on a roof of athree-dimensional model of a structure, according to one embodiment.

FIG. 7B illustrates an example of the solar panel placement systemidentifying the maximum number of 3×3 solar panel groups that can fit oneach row of 3×3 solar panel groups on the roof of the three-dimensionalmodel of the structure, according to one embodiment.

FIG. 7C illustrates the solar panel placement system shifting each rowof 3×3 solar panel groups based on a user-specified horizontaljustification preference, according to one embodiment.

FIG. 8A illustrates an example of a solar panel placement systemidentifying the maximum number of solar panels that can be accommodatedon a roof of a structure with an overlaid heatmap of solar irradiance,according to one embodiment.

FIG. 8B illustrates an example of a solar panel placement systemidentifying the most efficient locations for solar panels with a minimumgroup size of 1 that can be used to generate the target output power,according to one embodiment.

FIG. 8C illustrates an example of a solar panel placement systemidentifying the most efficient locations for solar panels with a minimumgroup size of 3 that can be used to generate the target output power,according to one embodiment.

FIG. 9 illustrates a solar panel placement system, according to oneembodiment.

DETAILED DESCRIPTION

According to various embodiments, a solar panel placement system modelsthe location of one or more solar panels in one or more groupings, rows,or columns on the roof of a structure. The solar panel placement systemmay generate a graphical user interface (commonly referred to as a“GUI”) to present one or more possible solar panel arrangements on theroof of the structure that attain a target parameter and conform to oneor more user-provided or system-default solar panel parameters, solararray parameters, and/or aesthetic parameters. In some embodiments, thesolar panel placement system may further consider solar irradiancevalues associated with locations on the roof of the structure.

According to various embodiments, a solar panel placement system mayacquire information identifying an estimate of annual solar irradiance(e.g., measured in cumulative kWh/m²) on a roof, or a portion of a roof,of a structure. In some embodiments, a graphical user interface maydisplay a context-rich visualization of the annual solar irradiationassociated with the selected target location. In some embodiments, thesolar panel placement system may receive or generate a detailed finiteelement model, or heatmap, of the solar irradiance. For example, avisual display of portions of the roof with the highest solar irradianceor highest average solar irradiance may be displayed as an overlay onthe roof using a blackbody radiation color mapping, or other color orgrayscale mapping. The solar panel placement system may receive orcalculate the solar irradiance for one or more portions of the roof forpositioning one or more solar panels or one or more arrays of solarpanels on each of the one or more portions of the roof.

According to various examples, obstacles, such as trees, chimneys,vents, air conditioning units, swamp coolers, satellite receivers, andthe like, may block sunlight from hitting some locations on the roof atsome times during the day and on some days of the year. The same treemay block different portions of the roof at different times of the dayand/or on different days of the year. A graphical user interface mayshow a heatmap that uses various shades of gray or different colors(e.g., blackbody temperature modeling) to illustrate the relative impactor effect of various obstacles and obstructions. White or red may beused to show unshaded portions of the roof. Darker gray shading ordarker shades of blue may be used to show the impact or effect ofshadows on the roof that have a significant or relatively higherlight-blocking effect over a period of time. Lighter gray shading orvarious shades of red (or another color) may be used to show the impactor effect of shadows cast by obstacles that have less of an overalllight-blocking effect over a period of time.

A solar evaluation system may determine (e.g., calculate or receive froma third-party system) the total irradiance at a target location (e.g.,one face of a roof on which solar panels are to be placed). For example,the solar panel placement system or a connected independent system mayuse historical data (e.g., known angles and locations of the sunday-by-day, expected number of sunny days and cloudy days, etc.) todetermine the total solar irradiance expected at the target location forone year (or another period of time). In some embodiments, it may beuseful to calculate a first solar irradiance value during hot monthswhen air conditioners are in use and calculate a second solar irradiancevalue in colder months when electrical usage is lower.

According to various embodiments, the solar panel placement system mayutilize various user inputs to determine a solar panel layout.User-specified goals or target values for daily, monthly, or annualsolar collection may be used to determine the number of panels neededand an optimized or partially optimized placement for the panels one ormore portions of the roof of a structure. In various embodiments, thesystem may provide solar layout design specifications that include thetotal number of panels, the number of panels connected in series, thenumber of panels connected in parallel, the gauge of wire needed, thenumber of branch connectors, the number of maximum power point tracking(MPPT) or other types of controllers, the number of inverters, thenumber of batteries, the number of transfer switches, etc. Costestimates may be provided and illustrated as part of the graphical userinterface for the complete solar array system and/or for portionsthereof.

As described herein, a user may specify one or more parameters,including solar panel parameters and solar array parameters, that areused by the solar panel placement system to identify possible solarpanel layouts. Examples of possible solar panel parameters include, butare not limited to, a brand, dimensions, maximum power output, opencircuit voltage, maximum power point voltage, short circuit current,maximum power point current, maximum system voltage for panels inseries, and the like. Examples of possible solar array parametersinclude, but are not limited to, a minimum group size, allowed panelorientations, maximum angle relative to the roof, minimum total power,maximum total power, target total power, and the like.

In some embodiments, for aesthetic reasons, to conform to localordinances, in accordance with industry best practices, or for otherreasons, the user may provide and/or the system may include defaultsettings specifying one or more of the aesthetic parameters. In someinstances, some of the solar panel parameters and/or the solar arrayparameters may also be considered or be categorized as an aestheticparameter. An example of an aesthetic parameter is a maximum angle thatsolar panels may be positioned relative to the slope of the roof (e.g.,0 degrees, 5 degrees, 15 degrees, etc.). Other aesthetic parameters mayestablish minimum grouping sizes, ascending or descending numbers ofpanels in each row of a solar panel array, maximum spacing betweengroups of solar panels, colors of solar panel frames, colors of solarpanel glass, a maximum allowed reflectivity of solar panels at specificangles or ranges of angles, rules for centering each grouping of panelsor the entire array of panels vertically and/or horizontally on aportion of a roof, minimum panel size to be used, allowing orprohibiting of staggered panels, etc.

In one embodiment, a user may toggle a box for acceptable sizes of thesolar panels. For example, the operator may select a panel type from adrop-down menu or select specific panel sizes that are available (e.g.,2′×4′, 3′×5′, etc., or other size panels including non-rectangularshapes). In some embodiments, a user may select all available panelsizes and allow the system to return the best design to capture thehighest level of solar exposure, highest level of solar exposure withinfinancial constraints (e.g., a break-even or profitability goal), and/orcheapest design that meets minimum requirements.

In some embodiments, the solar panel placement system may recommend anangle of the panels relative to the roof and/or account for andrecommend solar-tracking solar panel mounts (i.e., mechanically rotatingsolar panel mounts). In some embodiments, a user may specify limitationsfor aesthetic reasons. For instance, a user may want only low-profilesolar panels and/or prefer to avoid solar tracking mounts. In someembodiments, a user may specify a specific color of solar panel (e.g.,blue or black tints) and/or frame colors. The solar panel placementsystem may perform calculations for stored brands and models of solarpanels meeting the user's specifications. In some embodiments, the usermay specify different aesthetic parameters for different faces orportions of the roof. For example, the user may be less concerned withthe aesthetics of a solar panel array on the back of a house as comparedto the sides and/or front of the house.

According to various embodiments, the solar panel placement system maydetermine how many panels or groups of panels may fit on a portion of aroof by iteratively placing, shifting, moving, and adding a panel orgroup of panels to a three-dimensional model of a portion of a roof. Insome embodiments, the solar panel placement system may provide one ormore options of the “best” or optimally placed number of solar panels toattain a target goal. For example, the solar panel placement system mayidentify the maximum number of panels that can fit on a portion of aroof, the maximum power output that can be achieved on a portion of aroof, options for positioning a specific number of panels on a portionof a roof, options for positioning a specific grouping or arrangement ofpanels on a portion of a roof, and/or other options for positioningsolar panels based on user selections, user inputs, and/or defaultsettings of the solar panel placement system.

In some embodiments, the solar panel placement system may output one ormore options for a number of solar panels and locations for positioningthe number of solar panels to attain a target output power at the lowestcost. For example, the solar panel placement system may identify threedifferent arrangements of 15 200-Watt solar panels to attain a maximumoutput power of 3 kW and two different arrangements of 10 300-Watt solarpanels to attain the same maximum output power of 3 kW. Visualrepresentations of the five different options of solar panelarrangements may be presented via a graphical user interface tofacilitate a decision. In some embodiments, the solar panel placementsystem may present cost estimates associated with each of the differentoptions. The cost estimates may be for the panels only, other associatedcomponents (e.g., inverters, wires, etc.), and/or installation costestimates.

In some embodiments, the solar panel placement system may output one ormore options for a number of solar panels (e.g., an array of solarpanels with one or more groups of solar panels in rows and/or columns)and locations for positioning the number of solar panels in accordancewith a specified solar array performance metric. Examples of possiblesolar array performance metrics include, but are not limited to,maximizing the power output, maximizing the total efficiency of thearray of solar panels, minimizing the cost per total kW of the system,minimizing the cost per total kW of the system within a range of poweroutputs, maximizing the total efficiency of the array of solar panelswhile attaining a target total output, minimizing the total cost of thearray of solar panels while attaining a target total output, andminimizing the total cost of the array of solar panels while attaining aminimum total output.

According to one embodiment, a solar panel placement system includesvarious modules, subsystems, or user input fields within a graphicaluser interface to determine or otherwise identify solar panel sizeparameters, alignment parameters, and/or array parameters. For example,a solar panel parameter module may identify solar panel parameters, suchas solar panel size parameters (e.g., physical dimensions), voltageparameters, current parameters, power parameters, etc. An alignmentmodule may identify solar panel alignment parameters, such as whetherthe panels are to be aligned with one another or staggered. An arrayparameter module may identify solar panel array parameters, such astotal power requirements, minimum efficiency requirements, target poweroutput during a defined time period (e.g., based on a heatmap of solarirradiance values, as described in the patent applications incorporatedby reference above), target output during a future time period whenshadows are expected to impact that roof in a different manner than theshadows are currently impacting the roof, etc.

According to various embodiments, a structure module may generate orretrieve a three-dimensional model of a structure with at least oneplanar roof surface. A solar panel modeling module, system, or subsystemmay calculate positions for each solar panel to be placed on the planarroof surface based on the solar panel size parameters, the solar panelalignment parameters, and the solar panel array parameters, etc. Thesolar panel modeling module, system, or subsystem may render athree-dimensional model of the plurality of solar panels arranged on theplanar roof surface of the three-dimensional model of the structure.

A display module may render a graphical user interface for display on anelectronic display. The graphical user interface may include therendered three-dimensional model of the plurality of solar panelsarranged on the planar roof surface of the three-dimensional model ofthe structure. The graphical user interface may include a specificationsmenu section identifying the parameters used for placing the solarpanels and/or allowing the user to modify the specifications andparameters. In some embodiments, the user may move the solar panels onthe roof of the structure to “allowed” locations (e.g., within theboundaries of each planar roof section). As the user moves the solarpanels and/or places or removes solar panels from the array of solarpanels, the graphical user interface may provide an indication of theaverage total output power, minimum output power, maximum output power,overall efficiency of the array of solar panels, minimum efficiency ofany given solar panel, or the like.

In some embodiments, the graphical user interface may render the solarpanels with color overlays to indicate the quality, power output,efficiency, or other solar power output expectation based on thelocation of each solar panel. For example, a solar panel in a locationexpected to receive a high amount of sunlight might be rendered in greenand a solar panel in a location expected to receive off-angle sunlightexpected to reduce the overall output might be rendered yellow.Similarly, a solar panel significantly shadowed during some days orparts of the year may be rendered red. In some embodiments, the entiresolar panel array may be rendered with an outline in a color indicatingan overall quality, efficiency, or ability to attain a target outputparameter. For example, an array of solar panels may be rendered with agreen outline if the array of solar panels is expected to operate at anefficiency above a target threshold or be able to attain a target outputpower specified by the system or a user. The array may be outlined inyellow or red if the expected output is close to or below the targetthreshold.

In some embodiments, the system includes an irradiance calculationsubsystem to calculate a solar irradiance value for each location on theroof of the structure. Various approaches for calculating solarirradiance values are described in the patent applications incorporatedby reference above. The solar panel modeling system may calculate,shift, adjust, or otherwise position the plurality of solar panels toinclude a minimum number of solar panels necessary to satisfy a totalpower output parameter during a defined time period based on thecalculated solar irradiance values. Alternatively, the solar panelmodeling system may calculate, shift, adjust, or otherwise position theplurality of solar panels to include the maximum number of solar panelspossible. In still other embodiments, the solar panel modeling systemmay calculate, shift, adjust, or otherwise position the plurality ofsolar panels to include the maximum number of solar panels that willoperate above a target threshold efficiency or target power output levelduring a specified time period. As in other embodiments, a specifiedtime period may be part of a day, a week, a month, multiple months, ayear, or multiple years.

In some embodiments, the display module may render a heatmap of solarirradiance values as an overlay on the planar roof surface of thestructure and as an overlay on the plurality of solar panels arrangedthereon. In some embodiments, the solar panel alignment parametersinclude a minimum group size parameter defining a minimum number ofsolar panels to be included in a subgroup of the plurality of solarpanels on the planar roof surface. In such embodiments, the solar panelmodeling system may calculate the positions of the plurality of solarpanels to include a minimum number of solar panels to satisfy the totalpower output parameter during a defined time period based on thecalculated solar irradiance values, without violating the minimum groupsize parameter.

According to various embodiments, the systems and methods describedherein may be implemented via instructions stored within anon-transitory computer-readable medium. The instructions may befunctionally or actually organized in different modules and, whenexecuted by a processor of a computing device, cause the computingdevice to perform the operations described herein. For example, acomputing system may access an electronic database and/or receive userinputs to identify solar panel parameters, solar panel alignmentparameters, solar panel array parameters, a three-dimensional model of astructure, group parameters, and the like. The instructions may renderor otherwise generate a graphical user interface that includes athree-dimensional model of a plurality of solar panels arranged on aplanar roof surface of the three-dimensional model of the structure.

In various examples, the solar panel placement system may include anon-transitory, computer-readable medium for storing instructions. Thesystem may store the instructions in memory, and a processor mayimplement various modules to accomplish calculations and tasks performedby the system. Some of the infrastructure that can be used withembodiments disclosed herein is already available, such asgeneral-purpose computers, computer programming tools and techniques,digital storage media, and communications networks. A computer mayinclude a processor, such as a microprocessor, microcontroller, logiccircuitry, or the like. The processor may include a special-purposeprocessing device, such as an ASIC, a PAL, a PLA, a PLD, a CPLD, a FieldProgrammable Gate Array (FPGA), or another customized or programmabledevice. The computer may also include a computer-readable storagedevice, such as non-volatile memory, static RAM, dynamic RAM, ROM,CD-ROM, disk, tape, magnetic memory, optical memory, flash memory, oranother computer-readable storage medium.

Suitable networks for configuration and/or use, as described herein,include any of a wide variety of network infrastructures. A network mayincorporate landlines, wireless communication, optical connections,various modulators, demodulators, small form-factor pluggable (SFP)transceivers, routers, hubs, switches, and/or other networkingequipment. The network may include communications or networkingsoftware, such as software available from Novell, Microsoft, Artisoft,and other vendors, and may operate using TCP/IP, SPX, IPX, SONET, andother protocols over twisted pair, coaxial, or optical fiber cables,telephone lines, satellites, microwave relays, modulated AC power lines,physical media transfer, wireless radio links, and/or other datatransmission “wires.” The network may encompass smaller networks and/orbe connectable to other networks through a gateway or similar mechanism.

Aspects of certain embodiments described herein may be implemented assoftware modules or components. As used herein, a software module orcomponent may include any type of computer instruction orcomputer-executable code located within or on a computer-readablestorage medium, such as a non-transitory, computer-readable medium. Asoftware module may, for instance, comprise one or more physical orlogical blocks of computer instructions, which may be organized as aroutine, program, object, component, data structure, etc., that performone or more tasks or implement particular data types, algorithms, and/ormethods.

A particular software module may comprise disparate instructions storedin different locations of a computer-readable storage medium, whichtogether implement the described functionality of the module. Indeed, amodule may comprise a single instruction or many instructions and may bedistributed over several different code segments, among differentprograms, and across several computer-readable storage media. Someembodiments may be practiced in a distributed computing environmentwhere tasks are performed by a remote processing device linked through acommunications network. In a distributed computing environment, softwaremodules may be located in local and/or remote computer-readable storagemedia. In addition, data being tied or rendered together in a databaserecord may be resident in the same computer-readable storage medium, oracross several computer-readable storage media, and may be linkedtogether in fields of a record in a database across a network.

The embodiments of the disclosure can be understood by reference to thedrawings, wherein like parts are designated by like numerals throughout.The components of the disclosed embodiments, as generally described andillustrated in the figures herein, could be arranged and designed in awide variety of different configurations. Further, those of skill in theart will recognize that one or more of the specific details may beomitted, or other methods, components, or materials may be used. In somecases, operations are not shown or described in detail. Thus, thefollowing detailed description of the embodiments of the systems andmethods of the disclosure is not intended to limit the scope of thedisclosure, as claimed, but is merely representative of possibleembodiments.

FIG. 1 illustrates a graphical user interface showing athree-dimensional model of a structure and surrounding area. Thegraphical user interface includes a heatmap 100 of the solar irradianceat various locations on a roof 110 of the structure. The heatmap 100includes a legend 102 identifying white area 104 as corresponding to thearea with the highest solar irradiance and dark area 106 ascorresponding to the region with the lowest solar irradiance. The legend102 also indicates that the heatmap 100 varies in solar irradiance from1367 W/m² (e.g., at white area 104) in the most irradiant portions tozero W/m² or close to zero (e.g., at dark area 106) in the mostobstructed portions. The system may round the irradiance down to zerofor any region with insufficient light to activate a solar panel.

The graphical user interface also shows the effects of gables 108 and108′ on the solar irradiance at various locations along roof 110. Forexample, the solar irradiance at a location along a section of roof 112is slightly less than the solar irradiance at white area 104 due to theobstruction of gable 108. At a location along a section of roof 114,both gables 108 and 108′ may occlude solar exposure. Directobstructions, such as chimney 116, may play an expanded role in thesolar exposure throughout a day. Heatmap 100 allows for an averagedshadow 118 throughout the day. Thus, the averaged shadow 118 is shownhaving an area larger than the area of any actual shadow cast by chimney116 at any point in time during the day.

FIG. 2 illustrates a graphical user interface 200 of a solar panelplacement system. The solar panel placement system may recommendlocations 202, 204, and 206 for solar panels based on a user-input sizeof solar panels, e.g., inputs 208 and 210. The user inputs 208 and 210may include the size and quantity of panels, the threshold limit 212 ofthe system, the cost per period 214 for the system, and/or otheruser-defined data. The solar panel placement system may recommend theplacement of a particular size panel (e.g., 3′×6′ panel) in a specificlocation 206 on the roof. The solar panel placement system may recommendthe placement 202, 204, and 206 of multiple panels. The system maygenerate a heatmap 216 and/or “stay-out” regions 218 for the panelsbased on one or more obstacles (e.g., chimney 220). The recommendedplacement of panels 202, 204, and 206 may depend on user inputs such asthe cost, size, number, threshold limit 212, the cost per period 214,and/or other user inputs.

The heatmap 216 may represent an average solar distribution ofirradiance for a period of time, such as a year. The system may base theestimated distribution of solar irradiance on historical irradiancedata. For example, the system may use the solar irradiance of the pastyear (or an average of the last five, ten, twenty, or another number ofyears) to determine recommended panel sizes 208 and 210 and/or solarpanel locations 202, 204, and 206. Heatmap 216 may provide a graphicalrecommendation of panel placement, as illustrated. Heatmap 216 mayprovide numerical irradiance data for the system to calculate panelplacement.

For example, if the operator sets a 500-kW threshold limit over a periodof five years (e.g., 100 kW/year), the system may generate a heatmap andrecommend one or more suitable panel placements. The system maydetermine a quantity and location for solar panels to allow for apurchaser to fully offset an installation cost (e.g., based on savedelectricity or electricity sold to another entity) within a prescribedtime period (e.g., 7 years) at expected or current energy rates.

FIG. 3 illustrates an example of a graphical user interface 300 thatallows the user to select a panel size 302 and quantity 304, and thesystem will generate the watts produced 305 and the price of the panels306. For example, the operator may select a specific size panel 302 anda quantity 304 of each panel. The system may auto-populate the wattsproduced 305 and the price of the selected panels 306. In someembodiments, the operator may select all available panel sizes. Thisselection may permit the system to return a recommended optimal designto maximize solar exposure. The system may generate the quantity, size,price, and/or locations of the panels.

In some embodiments, the system may total the quantity of panels 308,the watts generated 310, and the total price 312. The user may input adesired payoff period 314, and the system may generate a cost per month316. The system may additionally or alternatively generate and display acost per kilowatt (kW), a cost per year, a lifetime savings, a lifetimecost, and/or other useful metrics.

FIG. 4 illustrates a graphical user interface 400 for a solar placementsystem with the placement of panels of various sizes based on userinput. The user may specify a total desired output, and the system maygenerate an optimized or suitable panel placement recommendation.Alternatively, the system may provide total output values, payoffvalues, estimated costs, etc., as an operator virtually places solarpanels on the roof with the overlaid irradiation values (e.g., via adrag and drop operation) at locations 402 and 404. The system accountsfor the decreased irradiance expected for solar panels placed withinshadowed areas, as described herein.

FIG. 5A illustrates an example of a graphical user interface 500 of asolar panel placement system modeling the placement of a solar panel 510on a roof of a three-dimensional model of a structure 590, according toone embodiment. As illustrated, the solar panel placement system mayinitially render a single solar panel 510 when the minimum group size isspecified as “1” in the specification panel 550. As shown in subsequentfigures, the solar panel placement system may incrementally placeadditional panels on the modeled roof, shift one or more panels orgroups of panels on the modeled roof, and/or otherwise manipulate thetotal number of panels, orientations, and relative locations of thesolar panels on the modeled roof of the structure 590 to exhaustivelyidentify all possible arrangements and configurations of solar panels onthe roof.

In some embodiments, the solar panel placement system may be limited tohorizontal and vertical orientations of the solar panels relative to anyedge or a specific edge of the portion of the roof. In some embodiments,the solar panel placement system may utilize default minimum distancesfrom edges of the roof to accommodate for installation hardware, errorsin the three-dimensional model of the roof, and/or variations in thedimensions of each solar panel relative to the specified dimensions.

FIG. 5B illustrates the graphical user interface 500 of the solar panelplacement system modeling the incremental addition of a second solarpanel 511 to form an array of solar panels in a single row on the roofof the three-dimensional model of the structure 590, according to oneembodiment. As illustrated, the first solar panel 510 and the secondsolar panel 511 are aligned with respect to one another. In someembodiments, the solar panel placement system models the placement ofsolar panels having differing sizes, solar panels having differing totalwattages, solar panels having differing maximum power point currents(I_(mpp)), solar panels having differing maximum power point voltages(V_(mpp)), and/or combinations thereof.

In some embodiments, the solar panel placement system models connectionsand placements between solar panels having matching or correspondingmaximum power point voltages and currents. For example, smaller panelswith lower maximum power point voltages may be positionally groupedtogether on one portion of the roof and larger panels with largermaximum power point voltages may be positionally grouped together on asecond portion of the roof. In some instances, the solar panel placementsystem may model some panels in a series electrical connection withrespect to other panels in a parallel electrical connection.

FIG. 5C illustrates the graphical user interface 500 of the solar panelplacement system determining a maximum number of solar panels that canbe accommodated on a bottom row of the portion of the roof of thestructure 590, according to one embodiment. Each solar panel may havebeen successively modeled and/or shifted until the maximum number ofsolar panels on the bottom row is identified. As illustrated, the groupof solar panels 575 includes solar panels 510, 511, 512, 513, 514, 515,516, 517, 518, 519, and 520. The last solar panel 521 is shown grayedout with an “X” indicating that the solar panel 521 cannot beaccommodated on this portion of the roof because the edge of the solarpanel extends past the edge of the portion (e.g., planar face) of theroof.

In some embodiments, the bottom row of the group of solar panels 575 maybe incrementally shifted up and down to identify the number of solarpanels that can be accommodated on the next row and/or to maximize thetotal number of solar panels that can be accommodated on the portion ofthe roof. Portions of roofs with curves, chimneys, odd angles, gables,windows, skylights, and the like may present more complicated scenariosthat are more likely to benefit from shifting individual panels andgroups of panels to the left, right, up, and/or down to identify themaximum number of panels that can be accommodated on any given surfaceor portion of the roof. For example, rows, columns, or groups of solarpanels may be incrementally shifted up, down, left, or right to maximizethe number of panels that can be accommodated given the presence of, forexample, vent pipes on the roof.

FIG. 5D illustrates the graphical user interface 500 of the solar panelplacement system identifying the maximum number of solar panels that canbe accommodated on the penultimate row of the portion of the roof,according to one embodiment. Again, the right-most solar panel 522 onthis penultimate row is shown grayed out and has an “X” indicating thatthe solar panel cannot be accommodated. The group of solar panels 575includes a bottom or last row with 11 solar panels. The penultimate rowonly includes 10 solar panels because the right-most solar panel 522does not fit within the planar surface of the roof of the structure 590.

In the illustrated embodiment, the left-most solar panel on each of thelast row and the penultimate row of the group of solar panels 575 isshifted to the left as much as possible (e.g., within an edge tolerancethreshold to, for example, accommodate mounting hardware). Alternativearrangements and positionings may be specified by the user or used bydefault. For instance, the solar panel placement system may align thesolar panels on each row to a left edge of the planar surface of theroof, centered between left and right edges of the planar surface of theroof, or aligned within the right edge of the planar surface of theroof.

FIG. 5E illustrates the graphical user interface 500 of the solar panelplacement system with a user specification in the specification panel550 that staggering of the solar panels is not allowed. According to theuser specification, the solar panels in the penultimate row of the groupof solar panels 575 are shifted so that the edges of the solar panels inthe two rows are vertically aligned, according to one embodiment. The“staggered allowed” specification in the specification panel 550 may beset to “yes” or “no” based on aesthetic preferences of the user and/orhardware and installation constraints of the solar panels and/orinstallation equipment used for modeling.

FIG. 5F illustrates the graphical user interface 500 of the solar panelplacement system identifying the maximum number of solar panels that canbe accommodated on the portion of the roof as determined by incrementaladdition of panels to each row starting from the left, according to oneembodiment.

FIG. 5G illustrates the graphical user interface 500 of the solar panelplacement system shifting each row of panels to the center based on auser-specified horizontal justification preference, according to oneembodiment.

FIG. 6A illustrates a graphical user interface 600 of a solar panelplacement system identifying a possible arrangement of 30 300-Watt solarpanels to attain a target output power of 9 kW, according to oneembodiment. As illustrated, the specification panel 650 includes optionsfor selecting a staggered solar panel placement with a target power of 9KW. Given the wattage rating of 300 watts for the selected 3′ by 5′solar panels, the system determines that they need 30 panels to achievethe targe power. In the illustrated embodiment, the group of lower 30panels 675 are selected and positioned in the staggered placement.Greyed out alternative options for placement of the solar panels 676 areshown. The target power may represent a maximum possible power output ora target real-world target power based on solar irradiance calculationsand the expected performance (e.g., specifications and parameters) ofthe solar panels.

FIG. 6B illustrates the graphical user interface 600 of the solar panelplacement system identifying an alternative arrangement of 30 300-Wattsolar panels to attain a target output power of 9 kW, according to oneembodiment. In the illustrated embodiment, the group of upper 30 panels676 are selected. The lower 30 panels 675 are greyed out to show thealternative, unselected option.

FIG. 6C illustrates the graphical user interface 600 of the solar panelplacement system identifying another alternative arrangement of 30300-Watt solar panels to attain a target output power of 9 kW, accordingto one embodiment. In the illustrated embodiment, a selection of 30disjointed groups of solar panels 677 and 678 are selected. In someembodiments, the system may determine if the groups 677 and 678 of solarpanels can be combined or grouped together by shifting one or bothgroups of solar panels on the roof of the structure. The solar panelplacement system may operate according to prescribed rules, such asmaintaining a minimum group size, attempt to vertically align anygrouping, attempt to horizontally align any grouping, or the like.

FIG. 6D illustrates the graphical user interface 600 of the solar panelplacement system identifying an arrangement of 30 300-Watt solar panels679 based on the arrangement in FIG. 6C with a centered groupingpreference activated, according to one embodiment. As illustrated, thetarget power output is achieved with the minimum number of solar panelspossible with a center grouping relative to the edges of the planarsurface of the portion of the roof.

FIG. 7A illustrates a graphical user interface 700 of a solar panelplacement system modeling the placement of a 3×3 solar panel group 775on a roof of a three-dimensional model of a structure 790, according toone embodiment. As illustrated, a user has set a solar array parameterin the specification panel 750 that requires a minimum group size of3×3. As illustrated, in the first attempted position the 3×3 solar panelgroup 775 does not fit within the boundaries or edges of the roof of thestructure 790.

FIG. 7B illustrates the graphical user interface 700 of the solar panelplacement system identifying the maximum number of 3×3 solar panelgroups 775 that can fit on each row of 3×3 solar panel groups on theroof of the three-dimensional model of the structure 790, according toone embodiment. As illustrated, only four 3×3 groups 775 of solar panelsfit on the roof of the structure 790. It is appreciated that the groups775 may be shifted up, down, left, and/or right on the roof. The solarpanel placement system may present one or more possible arrangements toa user via a graphical user interface based on one or more parametersprovided by the user and/or otherwise configured as part of a defaultconfiguration of parameters of the solar panel placement system. Theparameters may, for example, include solar panel parameters (e.g., size,brand, type, etc.), solar array parameters (e.g., target power, minimumgroup sizes, vertical centering, horizontal centering, etc.), and/oraesthetic parameters, as described herein.

FIG. 7C illustrates the graphical user interface 700 of the solar panelplacement system shifting each row of 3×3 solar panel groups 775 basedon a user-specified horizontal justification preference in thespecification panel 750, according to one embodiment.

FIG. 8A illustrates an example of a graphical user interface 800 of asolar panel placement system identifying the maximum number of solarpanels that can be accommodated on a roof of a structure 890 with anoverlaid heatmap of solar irradiance, according to one embodiment. Thegraphical user interface 800 may include the overlaid heatmapidentifying various levels of solar irradiance exposure during arelevant time period (e.g., a moment in time, an hour, a day, a week, amonth, a number of months, a year, multiple years, etc.). In theillustrated embodiment, the graphical user interface presents theheatmap overlaid on the surface of the roof and the solar panelsthemselves. In some embodiments, the specification panel 750 allows theuser to toggle the view to selectively show and hide the heatmap,selectively show and hide the solar panels, selectively show and hidethe specific obstacles obstructing the roof that cause the shadows, etc.

A legend 880 may indicate numerical values (e.g., irradiance values)corresponding to various levels of shading. The solar panel placementsystem may utilize the solar irradiance values associated with eachlocation on the roof of the structure to identify possible arrangementsof solar panels 875 that will maximize the total power output or attaintarget parameters (e.g., total output, lowest cost per kilowatt, mostkilowatts within a prescribed budget, or the like).

FIG. 8B illustrates an example of the graphical user interface 800 ofthe solar panel placement system identifying the most efficientlocations for solar panels with a minimum group size of 1 that can beused to generate the target output power of 9 kilowatts, according toone embodiment. A resulting arrangement 876 is relatively disjointed. Toattain the target output power of 9 kilowatts, some of the solar panelsare placed in regions of the roof that are at least partially shadowedat times. Because some of the solar panels are shadowed at times, the 9kilowatts are attained using 32 solar panels with a nominal total outputpower of 9.6 kilowatts.

FIG. 8C illustrates an example of the graphical user interface 800 ofthe solar panel placement system identifying the most efficientlocations for solar panels with a minimum group size of 3 that can beused to generate the target output power, according to one embodiment.The added constraint results in more solar panels being positioned inshadowed regions of the roof that receive a lower total solarirradiance. Accordingly, the target power of 9 kilowatts is attainedusing an arrangement 877 of 36 solar panels that have a nominal outputpower of 10.8 kilowatts. As such, it is appreciated that conformity withsome solar panel parameters, solar array parameters, and/or aestheticparameters may result in decreased efficiency that may be acceptable tothe user in favor of personal preferences, product availability,aesthetic reasons, local ordinances, laws, available rebates, or thelike.

According to various embodiments, the solar panel placement system maydetermine a first layout to achieve a target output power based on thesolar panel system parameters and irradiance calculations. In responseto changes or updated system parameters (e.g., panel sizes, panelwattages, required staggering or vertical alignment parameters,efficiency metric minimums, grouping parameters, or the like), the solarpanel placement system may determine a second layout for placing thepanels that conforms to the various parameters.

FIG. 9 illustrates a solar panel placement system 900, according to oneembodiment. The solar panel placement system 900 may include a processor930, a memory 940, a network interface 950, and a graphics processingunit 955 connected via a bus 920 to various subsystems or modules 970.For example, the solar panel placement system 900 may include variousmodules 970 with instructions stored therein that, when executed by theprocessor 930, cause the solar panel placement system 900 to implementthe various operations, methods, and functions described herein. One ormore of the modules 970 may be omitted in some embodiments and/oradditional modules may be included in some embodiments.

A panel parameter module 971 may identify solar panel parameters, suchas solar panel size parameters, by accessing a database and/or receivinga user input. An alignment parameter module 972 may identify solar panelalignment parameters, such as whether the panels in each group of panelsor in the entire array of panels can be staggered or must be edgealigned for aesthetic or installation reasons.

An array parameter module 973 may identify solar panel array parameters,including, but not limited to, a minimum group size, allowed panelorientations, maximum angle relative to the roof, minimum total power,maximum total power, target total power, and the like.

A structure module 974 may retrieve a three-dimensional model of astructure with at least one planar roof surface.

A solar panel modeling module 975 may calculate positions for each of aplurality of solar panels on the planar roof surface. For example, thepositions may be calculated based on the solar panel size parameters,the solar panel alignment parameters, the solar panel array parameters,and/or combinations thereof. The solar panel modeling module 975 mayfurther render a three-dimensional model of the plurality of solarpanels arranged on the planar roof surface of the three-dimensionalmodel of the structure.

A display module 976 may render a graphical user interface for displayon an electronic display, the graphical user interface including therendered three-dimensional model of the plurality of solar panelsarranged on the planar roof surface of the three-dimensional model ofthe structure. As described herein, the display module 976 may render aheatmap of solar irradiance values as an overlay on the planar roofsurface of the structure and as an overlay on the plurality of solarpanels arranged thereon.

In some embodiments, the three-dimensional model may be generated orobtained based on images captured by an imaging subsystem 977 that mayinclude, for example, cameras mounted on a UAV or mobile device. Anirradiance calculation subsystem 978 may operate according to any of theembodiments, or combinations thereof, as described in the applicationsincorporated herein by reference. A future obstruction estimationsubsystem 979 may operate according to any of the embodiments, orcombinations thereof, as described in the applications incorporatedherein by reference.

This disclosure has been made with reference to various embodiments,including the best mode. However, those skilled in the art willrecognize that changes and modifications may be made to the embodimentswithout departing from the scope of the present disclosure. While theprinciples of this disclosure have been shown in various embodiments,many modifications of structure, arrangements, proportions, elements,materials, and components may be adapted for a specific environmentand/or operating requirements without departing from the principles andscope of this disclosure. These and other changes or modifications areintended to be included within the scope of the present disclosure.

This disclosure is to be regarded in an illustrative rather than arestrictive sense, and all such modifications are intended to beincluded within the scope thereof. Likewise, benefits, other advantages,and solutions to problems have been described above with regard tovarious embodiments. However, benefits, advantages, solutions toproblems, and any element(s) that may cause any benefit, advantage, orsolution to occur or become more pronounced are not to be construed as acritical, required, or essential feature or element. The scope of thepresent invention should, therefore, be determined by the followingclaims:

What is claimed is:
 1. A solar panel placement system, comprising: apanel parameter module to identify solar panel parameters, including atleast solar panel size parameters; an alignment parameter module toidentify solar panel alignment parameters; an array parameter module toidentify solar panel array parameters; a structure module to retrieve athree-dimensional model of a structure with a planar roof surface; asolar panel modeling module to: calculate positions for each of aplurality of solar panels on the planar roof surface based on the solarpanel size parameters, the solar panel alignment parameters, and thesolar panel array parameters, and render a three-dimensional model ofthe plurality of solar panels arranged on the planar roof surface of thethree-dimensional model of the structure; and a display module to rendera graphical user interface for display on an electronic display, thegraphical user interface including the rendered three-dimensional modelof the plurality of solar panels arranged on the planar roof surface ofthe three-dimensional model of the structure.
 2. The system of claim 1,wherein the panel parameter module is configured to retrieve at leastone solar panel parameter from a database.
 3. The system of claim 1,wherein the panel parameter module is configured to obtain at least onesolar panel parameter via a user input.
 4. The system of claim 1,wherein at least one of the solar panel array parameters identified bythe array parameter module comprises a total power output parameter. 5.The system of claim 1, wherein the solar panel alignment parametercomprises a staggering parameter that specifies whether the solar panelsare to be edge-aligned or staggered.
 6. The system of claim 1, furthercomprising: an irradiance calculation subsystem to calculate a solarirradiance value for each location on the planar roof surface of thestructure.
 7. The system of claim 6, wherein at least one of the solarpanel array parameters identified by the array parameter modulecomprises a total power output parameter.
 8. The system of claim 7,wherein the solar panel modeling module is configured to calculate thepositions of the plurality of solar panels to include a minimum numberof solar panels to satisfy the total power output parameter during adefined time period based on the calculated solar irradiance values. 9.The system of claim 8, wherein the display module is further configuredto render a heatmap of solar irradiance values as an overlay on theplanar roof surface of the structure and as an overlay on the pluralityof solar panels arranged thereon.
 10. The system of claim 7, wherein thesolar panel alignment parameters include a minimum group size parameterdefining a minimum number of solar panels to be included in a subgroupof the plurality of solar panels on the planar roof surface.
 11. Thesystem of claim 10, wherein the solar panel modeling module isconfigured to calculate the positions of the plurality of solar panelsto include a minimum number of solar panels to satisfy the total poweroutput parameter during a defined time period based on the calculatedsolar irradiance values, without violating the minimum group sizeparameter.
 12. The system of claim 11, wherein the display module isfurther configured to render a heatmap of solar irradiance values as anoverlay on the planar roof surface of the structure and as an overlay onthe plurality of solar panels arranged thereon.
 13. A non-transitorycomputer-readable medium with instructions stored thereon that, whenexecuted by a processor of a computing device, cause the computingdevice to perform operations to: identify solar panel parameters,including at least solar panel size parameters; identify solar panelalignment parameters; identify solar panel array parameters; retrieve athree-dimensional model of a structure with a planar roof surface;calculate positions for each of a plurality of solar panels on theplanar roof surface based on the solar panel size parameters, the solarpanel alignment parameters, and the solar panel array parameters; rendera three-dimensional model of the plurality of solar panels arranged onthe planar roof surface of the three-dimensional model of the structure;and render a graphical user interface for display on an electronicdisplay, the graphical user interface including the renderedthree-dimensional model of the plurality of solar panels arranged on theplanar roof surface of the three-dimensional model of the structure. 14.The non-transitory computer-readable medium of claim 13, wherein atleast one of the solar panel array parameters comprises a total poweroutput parameter.
 15. The non-transitory computer-readable medium ofclaim 13, wherein the solar panel alignment parameter comprises astaggering parameter that specifies whether the solar panels are to beedge-aligned or staggered.
 16. The non-transitory computer-readablemedium of claim 13, wherein the instructions, when executed by aprocessor of a computing device, further cause the computing device to:calculate a solar irradiance value for each location on the planar roofsurface of the structure.
 17. The non-transitory computer-readablemedium of claim 16, wherein at least one of the solar panel arrayparameters comprises a total power output parameter.
 18. Thenon-transitory computer-readable medium of claim 17, wherein theinstructions, when executed by a processor of a computing device, causethe computing device to calculate the positions of the plurality ofsolar panels to include a minimum number of solar panels to satisfy thetotal power output parameter during a defined time period based on thecalculated solar irradiance values.
 19. The non-transitorycomputer-readable medium of claim 18, wherein the instructions, whenexecuted by a processor of a computing device, further cause thecomputing device to: render a heatmap of solar irradiance values as anoverlay on the planar roof surface of the structure and as an overlay onthe plurality of solar panels arranged thereon.
 20. A method,comprising: accessing an electronic database to retrieve solar panelparameters, including at least solar panel size parameters; receiving,via an electronic input device of a computer, an input from a userspecifying solar panel alignment parameters; determining solar panelarray parameters; receiving a three-dimensional model of a structurewith a planar roof surface; calculating positions for each of aplurality of solar panels on the planar roof surface based on the solarpanel size parameters, the solar panel alignment parameters, and thesolar panel array parameters; rendering a three-dimensional model of theplurality of solar panels arranged on the planar roof surface of thestructure; and rendering a graphical user interface for display on anelectronic display, the graphical user interface including the renderedthree-dimensional model of the plurality of solar panels arranged on theplanar roof surface of the structure.